package com.firestone.bean.entity.elasticsearch.dm;

import com.firestone.bean.entity.elasticsearch.nested.WeightJson;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.*;

import java.io.Serializable;
import java.util.List;

/**
 * @Description: TODO(著作权表)
 * @author wuzhenyi
 * @date 2018年4月18日 14:38
 * @lastModifier wuzhenyi
 * @param
 **/
@Document(indexName = "dm_map_activity", type = "index", createIndex = false)
@Setting(settingPath = "/setting/setting.json")
public class DmMapZhuzuoquan implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id
    private String id;
    /**
     * @Fields SYS_add_time : TODO(添加时间)
     */
    @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd HH:mm:ss")
    private String SYS_add_time;

    /**
     * @Fields SYS_check_time : TODO(检验时间)
     */
    @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd HH:mm:ss")
    private String SYS_check_time;

    /**
     * @Fields SYS_dm_update_time : TODO(更改时间)
     */
    @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd HH:mm:ss")
    private String SYS_dm_update_time;

    /**
    * @Fields applicant : TODO(著作权人)
    */
    @Field(type = FieldType.keyword)
    private String applicant;
    
    /**
    * @Fields class_num : TODO(分类号)
    */
    @Field(type = FieldType.keyword)
    private String class_num;
    
    /**
    * @Fields companies : TODO(公司)
    */
    @Field(type = FieldType.keyword)
    private String companies;
    
    /**
    * @Fields ext_company : TODO()
    */
    @Field(type = FieldType.text,analyzer = "tab_analyzer")
    private String ext_company;
    
    /**
    * @Fields firstpublishtime : TODO(首次出版日期)
    */
    @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd HH:mm:ss")
    private String firstpublishtime;
    
    /**
    * @Fields fullname : TODO(软件全称)
    */
    @Field(type = FieldType.keyword)
    private String fullname;

    /**
    * @Fields reg_num : TODO(登记号)
    */
    @Field(type = FieldType.keyword)
    private String reg_num;
    
    /**
    * @Fields regtime : TODO(登记日期)
    */
    @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd HH:mm:ss")
    private String regtime;
    
    /**
    * @Fields shortname : TODO(软件简称)
    */
    @Field(type = FieldType.keyword)
    private String shortname;
    
    /**
    * @Fields version : TODO(版本号)
    */
    @Field(type = FieldType.keyword)
    private String version;
    
    /**
    * @Fields weight_json : TODO(字段来源)
    */
    @Field(type = FieldType.Nested)
    private List<WeightJson> weight_json;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getSYS_add_time() {
        return SYS_add_time;
    }

    public void setSYS_add_time(String SYS_add_time) {
        this.SYS_add_time = SYS_add_time;
    }

    public String getSYS_check_time() {
        return SYS_check_time;
    }

    public void setSYS_check_time(String SYS_check_time) {
        this.SYS_check_time = SYS_check_time;
    }

    public String getSYS_dm_update_time() {
        return SYS_dm_update_time;
    }

    public void setSYS_dm_update_time(String SYS_dm_update_time) {
        this.SYS_dm_update_time = SYS_dm_update_time;
    }

    public String getApplicant() {
        return applicant;
    }

    public void setApplicant(String applicant) {
        this.applicant = applicant;
    }

    public String getClass_num() {
        return class_num;
    }

    public void setClass_num(String class_num) {
        this.class_num = class_num;
    }

    public String getCompanies() {
        return companies;
    }

    public void setCompanies(String companies) {
        this.companies = companies;
    }

    public String getExt_company() {
        return ext_company;
    }

    public void setExt_company(String ext_company) {
        this.ext_company = ext_company;
    }

    public String getFirstpublishtime() {
        return firstpublishtime;
    }

    public void setFirstpublishtime(String firstpublishtime) {
        this.firstpublishtime = firstpublishtime;
    }

    public String getFullname() {
        return fullname;
    }

    public void setFullname(String fullname) {
        this.fullname = fullname;
    }

    public String getReg_num() {
        return reg_num;
    }

    public void setReg_num(String reg_num) {
        this.reg_num = reg_num;
    }

    public String getRegtime() {
        return regtime;
    }

    public void setRegtime(String regtime) {
        this.regtime = regtime;
    }

    public String getShortname() {
        return shortname;
    }

    public void setShortname(String shortname) {
        this.shortname = shortname;
    }

    public String getVersion() {
        return version;
    }

    public void setVersion(String version) {
        this.version = version;
    }

    public List<WeightJson> getWeight_json() {
        return weight_json;
    }

    public void setWeight_json(List<WeightJson> weight_json) {
        this.weight_json = weight_json;
    }
}
